<?php

class Application_Model_UsuarioMapper
{
	public $tbUsuario;
	
	public function __construct(){
		$this->tbUsuario = new Application_Model_DbTable_Usuario();
	}
	
	public function cadastrarUsuario(Application_Model_Usuario $usuario){
		
		$novoUsuario = new Application_Model_Usuario();
		$novoUsuario = $usuario;
		
		try {
			
			$dadosUsuario = array(
					"id_usuario"	=>	$novoUsuario->getIdUsuario(),
					"login_email"	=>	$novoUsuario->getLoginEmail(),
					"senha"			=>	$novoUsuario->getSenha(),
					"endereco"		=>	$novoUsuario->getEndereco(),
					"nome"			=>	$novoUsuario->getNome(),
					"id_perfil"		=>	$novoUsuario->getIdPerfil(),
					);
			return $this->tbUsuario->insert($dadosUsuario);
			
		} catch (Zend_Exception $e){
			echo "ERR: " . $e->getMessage();
		}
	}
	
	
	public function verificarEmail($email){
		
		$select = $this->tbUsuario->select();
		$select->where("login_email = ?", $email);
		
		$dados = $this->tbUsuario->fetchRow($select);
		
		return $dados;
		
	}
	
	public function login($email, $senha){
		
		$select = $this->tbUsuario->select();
		$select->where("login_email = '{$email}' AND senha = '{$senha}'");
		
		$result = $this->tbUsuario->fetchRow($select);
		
		if ($result != NULL) {
			return $result->toArray();
		}else{
			return NULL;
		}
		
	}
	
	public function buscarUsuarioPeloId($id){
		
		$resultado = $this->tbUsuario->find($id)->toArray();
		
		return $resultado;
	}
	
	public function editarUsuario($usuario){
		$novoUsuario = new Application_Model_Usuario();
		$novoUsuario = $usuario;
		
		try {
				
			$dadosUsuario = array(
					"id_usuario"	=>	$novoUsuario->getIdUsuario(),
					"endereco"		=>	$novoUsuario->getEndereco(),
					"nome"			=>	$novoUsuario->getNome(),
					"id_perfil"		=>	$novoUsuario->getIdPerfil(),
			);
			return $this->tbUsuario->update($dadosUsuario, array("id_usuario = ?"=> $dadosUsuario["id_usuario"]));
// 			insert($dadosUsuario);
				
		} catch (Zend_Exception $e){
			echo "ERR: " . $e->getMessage();
		}
		
	}
	
	


}

